SQL Server - Tipos de Comandos SQL

Conceito Fundamental

Se você conhece um pouco o mundo da programação deve estar se perguntando: "Com tantas linguagem porque inventaram mais uma linguagem ?".

A resposta é simples e genérica : Porque as anteriores não atendiam o necessário".

Se você já programou sabe que podemos fazer diversos algorítimos para resolver um mesmo problema. Porém, nem todos chegam ao resultado certo ou ao mesmo resultado.

Sendo assim a linguagem SQL foi criada para atender a uma regra fundamental ... Seja qual for a pesquisa / comando ( se houver mais de uma ) ela deverá sempre trazer os mesmos resultados .

A linguagem sql consegue fazer isso porque ela é uma linguagem declarativa, ou seja, você declara o que quer e não como quer . Exatamente o oposto de um prompt de uma IA.

Âmbito de atuação

Os comandos sql server atuam em todos os objetos do banco de dados, entre eles :

Banco de dados, Tabelas, Índices, Visões(views), Stored Procedures, Funções, Triggers, Usuários, Permissões, entre outros.

Até alguns itens gerenciais como Partições, Esquemas, Sinônimos, Estatísticas, Perfis de segurança, nome de colunas das tabelas, etc podem ser alterados por esses comandos.

Tipos de comandos SQL

Para que a linguagem SQL consiga atender a essa regra fundamental os comandos SQL são divididos em 5 grandes grupos onde cada grupo atua numa parte específica do banco de dados ou servidor sql.


1) DDL - Data Definition Language.

São os comandos que definem a estrutura do banco de dados, ou seja, criam, alteram e destroem tabelas e outros objetos do banco de dados.

Os comandos mais comuns são Create, Alter, Drop, Truncate, Rename.


2) DML - Data Manipulation Language

São comandos destinados a manipulação de dados dentro das tabelas do banco de dados.

Os mais comuns são: Insert, Update, Delete, Merge


3) DCL - Data Control Language

São comandos destinados ao controle de acesso e permissões dos usuários no banco de dados.

Os mais comuns são Grant e Revoke que permitem ou não o acesso dos usuários aos objetos do banco de dados.


4) TCL - Transaction Control Language

Esses comandos destinam a controlar complexas operações no banco de dados onde um conjunto de operações são interdependentes, ou seja, é um agrupamento de comandos que precisa ser executado num bloco inteiro, se der erro todo o bloco de comandos deve retornar ao estado anterior, o velho ou tudo é executado ou nada é executado. Típico de um lote de transações bancárias.

Os comandos desse tipo de comando SQL são Commit, Rollback, SavePoint.

Notem que é um comando que fala diretamente ao servidor SQL o que deve fazer, da maneira que deve fazer.


5) DQL - Data Query Language

São as consultas propriamente ditas, ou seja, os comandos que retornam dados de uma ou mais tabelas do banco de dados.

Comando SQL tipico desse tipo de comando é o Select.